package com.yfp.machine.service;

import com.yfp.common.core.domain.R;
import com.yfp.machine.domain.TagMachine;
import com.yfp.machine.domain.vo.TagMachineVo;

import java.util.List;

/**
 * (TagMachine)表服务接口
 *
 *
 * @since 2023-12-14 21:51:04
 */
public interface TagMachineService {

    /**
     * 通过ID查询单条数据
     *
     * @param tagId 主键
     * @return 实例对象
     */
    TagMachine queryById(String tagId);

    /**
     * 分页查询
     *
     * @param tagMachine 筛选条件
     * @return 查询结果
     */
    List<TagMachine> queryAll(TagMachine tagMachine);

    /**
     * 新增数据
     *
     * @param tagMachine 实例对象
     * @return 实例对象
     */
    TagMachine insert(TagMachine tagMachine);

    /**
     * 修改数据
     *
     * @param tagMachine 实例对象
     * @return 实例对象
     */
    TagMachine update(TagMachine tagMachine);

    /**
     * 通过主键删除数据
     *
     * @param tagId 主键
     * @return 是否成功
     */
    boolean deleteById(String tagId);

    /**
     * 新增设备标签
     *
     * @param tagMachineVo 设备标签
     * @return {@link TagMachine}
     */
    TagMachine insertTagMachine(TagMachineVo tagMachineVo);

    /**
     * 禁用标签
     *
     * @param id id
     * @return {@link TagMachine}
     */
    R<Object> disableTags(String id);

}
